//package com.huizu.project.config;
//
//
//import com.huizu.common.exception.ServiceException;
//import com.huizu.project.utils.TokenUtils;
//import org.aspectj.lang.JoinPoint;
//import org.aspectj.lang.annotation.Aspect;
//import org.aspectj.lang.annotation.Before;
//import org.aspectj.lang.annotation.Pointcut;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//import org.springframework.web.context.request.RequestContextHolder;
//import org.springframework.web.context.request.ServletRequestAttributes;
//
//import javax.servlet.http.HttpServletRequest;
//import java.util.Objects;
//
//@Aspect
//@Component
//public class TokenLog {
//
//
//    @Autowired
//    private ProUserMapper proUserMapper;
//
//    //设置切点
////    @Pointcut("execution(* com.example.MyClass.*(..)) && !execution(* com.example.MyClass.excludeMethod(..))")
//    @Pointcut("execution(* com.huizu.project.ApiController.*.*(..)) && " +
//            "!execution(* com.huizu.project.ApiController.ApiProUserController.*(..))")
//    public void webLog() {
//    }
//
//    /**
//     * 对前端所有接口进行切面  来获取日志
//     * @param joinPoint
//     * @throws Throwable
//     */
//    @Before("webLog()")
//    public void doBefore(JoinPoint joinPoint) throws Throwable
//    {
//        ServletRequestAttributes sra=(ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
//        HttpServletRequest request= Objects.requireNonNull(sra).getRequest();
//        String token = request.getHeader(TokenUtils.getAppTokenHeader());
//        // 从请求头中获取 Token
////        String token = request.getHeader(TokenUtils.getAppTokenHeader());
////        System.out.println("方法执行前 token"+token);
////        if (token == null) {
////            // 如果没有 Token，则返回 401 错误
////            throw new ServiceException("用户信息异常请重新登录",401);
////        }
////
////        // 解析 Token
////        Claims claims = null; // 这里使用 jwtService 对象解析 Token，请自行修改
////        try {
////            claims = TokenUtils.parseToken(token);
////        } catch (Exception e) {
////            // Token 不正确，返回 401 错误
////            throw new ServiceException("token不存在",401);
//////            return false;
////        }
//
//        if (request.getHeader(TokenUtils.getAppTokenHeader())!=null&&!"".equals(token)){
//            String userId = TokenUtils.parseToken(token).getSubject();//获取用户id
//            ProUser proUser = proUserMapper.selectProUserByUserId(userId);
//            if (proUser==null)
//                throw new ServiceException("用户信息异常请重新登录",401);
//        }
//    }
//}